home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 7.8 KB | 217 lines | [TEXT/MPS ] |
- /*
- File: Windows.idl
-
- Contains: Window Manager Interfaces.
-
- Version: Technology: System 7.5
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __WINDOWS_IDL__
- #define __WINDOWS_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __TYPES_IDL__
- #include <Types.idl>
- #endif
- #ifndef __MEMORY_IDL__
- #include <Memory.idl>
- #endif
- #ifndef __QUICKDRAW_IDL__
- #include <Quickdraw.idl>
- #endif
- #ifndef __EVENTS_IDL__
- #include <Events.idl>
- #endif
- #ifndef __CONTROLS_IDL__
- #include <Controls.idl>
- #endif
- #ifndef __HIWINDOWTYPES_IDL__
- #include <HIWindowTypes.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- /*
- _________________________________________________________________________________________________________
-
- • WINDOW DEFINITION TYPE
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • WINDOW DEFINITION ID'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • VARIANT CODES
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • PROC-ID'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • STANDARD WINDOW KINDS
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • FIND WINDOW RESULT CODES
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • WINDOW DEFINITION HIT TEST RESULT CODES ("WINDOW PART")
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • WINDOW COLOR PART CODES
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
- • WINDOW COLOR TABLE STRUCTURE
- _________________________________________________________________________________________________________
- */
- typedef SOMLargeStruct WinCTab; /* Derived from a struct of 48 bytes in size */
-
- typedef OpaquePtr WCTabPtr; /* Substituted OpaquePtr for “WinCTab*” */
-
- typedef OpaquePtr WCTabHandle; /* Substituted OpaquePtr for “WCTabPtr*” */
-
- /*
- _________________________________________________________________________________________________________
- • WINDOWRECORD
- _________________________________________________________________________________________________________
- */
-
-
- typedef OpaquePtr WindowPeek; /* Substituted OpaquePtr for “WindowRecord*” */
-
- typedef SOMLargeStruct WindowRecord; /* Derived from a struct of 156 bytes in size */
-
- /*
- _________________________________________________________________________________________________________
- • CWINDOWRECORD
- _________________________________________________________________________________________________________
- */
-
-
- typedef OpaquePtr CWindowPeek; /* Substituted OpaquePtr for “CWindowRecord*” */
-
- typedef SOMLargeStruct CWindowRecord; /* Derived from a struct of 156 bytes in size */
-
- /*
- _________________________________________________________________________________________________________
- • AUXWINDHANDLE
- _________________________________________________________________________________________________________
- */
-
-
- typedef OpaquePtr AuxWinPtr; /* Substituted OpaquePtr for “AuxWinRec*” */
-
- typedef OpaquePtr AuxWinHandle; /* Substituted OpaquePtr for “AuxWinPtr*” */
-
- typedef SOMLargeStruct AuxWinRec; /* Derived from a struct of 28 bytes in size */
-
- /*
- _________________________________________________________________________________________________________
- • WSTATEHANDLE
- _________________________________________________________________________________________________________
- */
- typedef SOMLargeStruct WStateData; /* Derived from a struct of 16 bytes in size */
-
- typedef OpaquePtr WStateDataPtr; /* Substituted OpaquePtr for “WStateData*” */
-
- typedef OpaquePtr WStateDataHandle; /* Substituted OpaquePtr for “WStateDataPtr*” */
-
- /*
- _________________________________________________________________________________________________________
-
- • API
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • PROCS
- _________________________________________________________________________________________________________
- */
- typedef OpaquePtr WindowDefProcPtr;
- typedef OpaquePtr WindowDefUPP;
- typedef OpaquePtr DeskHookProcPtr;
- typedef OpaquePtr DeskHookUPP;
- /*
- _________________________________________________________________________________________________________
-
- • C GLUE
- _________________________________________________________________________________________________________
- */
- #if CGLUESUPPORTED
- #endif
- /*
- _________________________________________________________________________________________________________
-
- • WindowRecord accessor macros
- _________________________________________________________________________________________________________
- */
- /*
- *****************************************************************************
- * *
- * The conditional STRICT_WINDOWS has been removed from this interface file. *
- * The accessor macros to a WindowRecord are no longer necessary. *
- * *
- *****************************************************************************
-
- Details:
- The original purpose of the STRICT_ conditionals and accessor macros was to
- help ease the transition to Copland. Shared data structures are difficult
- to coordinate in a preemptive multitasking OS. By hiding the fields in a
- WindowRecord and other data structures, we would begin the migration to
- system data structures being completely hidden from applications.
-
- After many design reviews, it was finally concluded that with this sort of
- migration, the system could never tell when an application was no longer
- peeking at a WindowRecord, and thus the data structure might never become
- system owned. Additionally, there were many other limitations in the classic
- toolbox that were begging to be addressed.
-
- The final decision was to leave the traditional toolbox as a compatibility mode.
- The preferred toolbox API for Copland is a new SOM(tm) based architecture
- (e.g. HIWindows.idl). Windows, menu, controls, etc are each a SOM object
- with methods for drawing, event handling, and customization.
-
- */
- #ifdef __cplusplus
- #else
- #endif
- #endif
-
- #endif /* __SOMIDL__ */
-
- #endif /* __WINDOWS_IDL__ */
-
-